/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.wms.entity;

import com.mes.data.EmesStation;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.common.enterprise.Warehouse;
/**
 * Entity class for entity Wms_Return_Material (stored in table Wms_Return_Material).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class WmsReturnMaterial extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Wms_Return_Material";
    public static final String ENTITY_NAME = "Wms_Return_Material";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_CODE = "code";
    public static final String PROPERTY_EMESSTATION = "emesStation";
    public static final String PROPERTY_USER = "user";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_RECEIVEUSER = "receiveUser";
    public static final String PROPERTY_RECEIVEDATE = "receiveDate";
    public static final String PROPERTY_STATUS = "status";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_PRINTBTN = "printBtn";
    public static final String PROPERTY_IMPORTBTN = "importBtn";
    public static final String PROPERTY_RETURNNAME = "returnName";
    public static final String PROPERTY_RETURNCREATE = "returnCreate";
    public static final String PROPERTY_PUTSOURCE = "putSource";
    public static final String PROPERTY_CJSHBTN = "cjshBtn";
    public static final String PROPERTY_DAYINBTN = "dayinBtn";
    public static final String PROPERTY_WAREHOUSE = "warehouse";
    public static final String PROPERTY_PROCESSNAME = "processName";
    public static final String PROPERTY_WMSRETURNMATERIALMXLIST = "wmsReturnMaterialMxList";

    public WmsReturnMaterial() {
        setDefaultValue(PROPERTY_STATUS, "CREATE");
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_PRINTBTN, false);
        setDefaultValue(PROPERTY_IMPORTBTN, false);
        setDefaultValue(PROPERTY_PUTSOURCE, "WMS");
        setDefaultValue(PROPERTY_CJSHBTN, false);
        setDefaultValue(PROPERTY_DAYINBTN, false);
        setDefaultValue(PROPERTY_WMSRETURNMATERIALMXLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public String getCode() {
        return (String) get(PROPERTY_CODE);
    }

    public void setCode(String code) {
        set(PROPERTY_CODE, code);
    }

    public EmesStation getEmesStation() {
        return (EmesStation) get(PROPERTY_EMESSTATION);
    }

    public void setEmesStation(EmesStation emesStation) {
        set(PROPERTY_EMESSTATION, emesStation);
    }

    public User getUser() {
        return (User) get(PROPERTY_USER);
    }

    public void setUser(User user) {
        set(PROPERTY_USER, user);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    public User getReceiveUser() {
        return (User) get(PROPERTY_RECEIVEUSER);
    }

    public void setReceiveUser(User receiveUser) {
        set(PROPERTY_RECEIVEUSER, receiveUser);
    }

    public Date getReceiveDate() {
        return (Date) get(PROPERTY_RECEIVEDATE);
    }

    public void setReceiveDate(Date receiveDate) {
        set(PROPERTY_RECEIVEDATE, receiveDate);
    }

    public String getStatus() {
        return (String) get(PROPERTY_STATUS);
    }

    public void setStatus(String status) {
        set(PROPERTY_STATUS, status);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public Boolean isPrintBtn() {
        return (Boolean) get(PROPERTY_PRINTBTN);
    }

    public void setPrintBtn(Boolean printBtn) {
        set(PROPERTY_PRINTBTN, printBtn);
    }

    public Boolean isImportBtn() {
        return (Boolean) get(PROPERTY_IMPORTBTN);
    }

    public void setImportBtn(Boolean importBtn) {
        set(PROPERTY_IMPORTBTN, importBtn);
    }

    public String getReturnName() {
        return (String) get(PROPERTY_RETURNNAME);
    }

    public void setReturnName(String returnName) {
        set(PROPERTY_RETURNNAME, returnName);
    }

    public Date getReturnCreate() {
        return (Date) get(PROPERTY_RETURNCREATE);
    }

    public void setReturnCreate(Date returnCreate) {
        set(PROPERTY_RETURNCREATE, returnCreate);
    }

    public String getPutSource() {
        return (String) get(PROPERTY_PUTSOURCE);
    }

    public void setPutSource(String putSource) {
        set(PROPERTY_PUTSOURCE, putSource);
    }

    public Boolean isCjshBtn() {
        return (Boolean) get(PROPERTY_CJSHBTN);
    }

    public void setCjshBtn(Boolean cjshBtn) {
        set(PROPERTY_CJSHBTN, cjshBtn);
    }

    public Boolean isDayinBtn() {
        return (Boolean) get(PROPERTY_DAYINBTN);
    }

    public void setDayinBtn(Boolean dayinBtn) {
        set(PROPERTY_DAYINBTN, dayinBtn);
    }

    public Warehouse getWarehouse() {
        return (Warehouse) get(PROPERTY_WAREHOUSE);
    }

    public void setWarehouse(Warehouse warehouse) {
        set(PROPERTY_WAREHOUSE, warehouse);
    }

    public String getProcessName() {
        return (String) get(PROPERTY_PROCESSNAME);
    }

    public void setProcessName(String processName) {
        set(PROPERTY_PROCESSNAME, processName);
    }

    @SuppressWarnings("unchecked")
    public List<WmsReturnMaterialMx> getWmsReturnMaterialMxList() {
      return (List<WmsReturnMaterialMx>) get(PROPERTY_WMSRETURNMATERIALMXLIST);
    }

    public void setWmsReturnMaterialMxList(List<WmsReturnMaterialMx> wmsReturnMaterialMxList) {
        set(PROPERTY_WMSRETURNMATERIALMXLIST, wmsReturnMaterialMxList);
    }

}
